package com.baselibrary.libs.View.TextView_plus;

import android.content.Context;
import android.os.Handler;
import android.os.Message;
import android.util.AttributeSet;
import android.view.View;
import android.widget.TextView;

import com.baselibrary.libs.Utils.Toast.UtilsToast;

/**
 * Created by 35876 于萌萌
 * 创建日期: 22:36 . 2017年02月23日
 * 描述:不能连续点击两次的按钮
 * <p>
 * <p>
 * 备注:缺点就是 不能使用 原本的回调了
 * 的自己写回调
 */

public class NoDoubleTextView extends TextView implements View.OnClickListener {
    Context context;

    public NoDoubleTextView(Context context) {
        super(context);
        initView(context);
    }


    public NoDoubleTextView(Context context, AttributeSet attrs) {
        super(context, attrs);
        initView(context);
    }

    public NoDoubleTextView(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
        initView(context);
    }

    Handler mHandler = new Handler(){
        @Override
        public void handleMessage(Message msg) {
            tag  = false;
            removeMessages(0x22);
        }
    };

    private void initView(Context context) {
        this.context = context;
        this.setOnClickListener(this);
    }
    public interface OnDoubleClickListener{
        void onClicks(NoDoubleTextView view);
    }
    OnDoubleClickListener listener;
    public void setOnDoubleClickListener(OnDoubleClickListener listener){
        this.listener = listener;

    }


    public boolean tag;
    @Override
    public void onClick(View v) {
        if (tag){
            UtilsToast.showToast(context,"操作频繁");
            return;
        }else{
            UtilsToast.showToast(context,"正常点击");
            listener.onClicks(this);
            tag = true;
            Message message = mHandler.obtainMessage();
            message.what = 0x22;
            mHandler.sendMessageDelayed(message,10);
        }

    }
}
